#include <iostream>
#include <vector>
using namespace std;


void quickSort(vector<int>& a,int start,int end)
{
	
	if(start<end)
	{
		int base=a[start];
		int left=start,right=end;
		while(left<right)
		{
			while(right>left && a[right]>=base)
			{
				right--;
			}
			a[left]=a[right];
			while(left<right && a[left]<=base)
			{
				left++;
			}
			a[right]=a[left];
		}	
		a[left]=base;
		quickSort(a,start,left-1);
		quickSort(a,left+1,end);
	}
}

int main()
{
	
	vector<int> a({10,9,8,7,6,2,3,1,4,5});
	quickSort(a,0,a.size()-1);
	for(int i=0;i<a.size();i++)
	{
		cout<<a[i]<<' ';
	}
	
	return 0;
}
